package com.bootdo.lvyou_specialty.domain;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import com.bootdo.common.annotation.NotColumn;
import com.bootdo.common.fansheutils.FansheUtils;
import com.bootdo.common.fansheutils.JibenLei;
import com.bootdo.common.utils.excel.annotation.ExcelField;
import com.bootdo.common.utils.excel2.ExcelTileName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.haojiangbo.annotation.HapiFeild;


/**
 * 
 * 
 * @author haojiangbo
 * @email 2100272728@qq.com
 * @date 2019-10-14 09:58:32
 */
 @JsonInclude(JsonInclude.Include.NON_NULL)
public class LvyouSpecialtyOrderContent extends JibenLei {
	@NotColumn
	private static final long serialVersionUID = 1L;

	//id
	 @NotColumn 	@HapiFeild("id")
	 @ExcelField(title = "id", fieldType = Long.class)
	private Long id;
	

	
	//商品的id
		@HapiFeild("商品的id")
		@ExcelField(title = "商品的id", fieldType = Long.class)
	private Long goodsId;

	//总订单的订单号
	@HapiFeild("总订单的订单号")
	@ExcelField(title = "总订单的订单号")
	@ExcelTileName(value = "总订单号")
	private String goodsOrderNo;

	// 商家的流水号
	@HapiFeild("商家的流水号")
	@ExcelField(title = "商家流水号", fieldType = String.class)
	@ExcelTileName(value = "商家流水号")
	private String merchantOrderNo;

	// 商家的名称
	@HapiFeild("商家的名称")
	@ExcelField(title = "商家名称")
	@ExcelTileName(value = "商家名称")
	private String merchantName;
	
	//商品的名称
		@HapiFeild("商品的名称")
		@ExcelField(title = "商品的名称")
		@ExcelTileName(value = "商品名称")
	private String goodsName;

	//商品的单个价格
	@HapiFeild("商品的单个价格")
	@ExcelField(title = "商品的单个价格",  fieldType = Double.class)
	@ExcelTileName(value = "单价")
	private Double goodsPrice;

	@HapiFeild("商品规格")
	@ExcelTileName(value = "规格")
	private String goodsStandard;

    @HapiFeild("下单客户姓名")
	private String userMemberName;
	
	//商品的个数
		@HapiFeild("商品的个数")
		@ExcelField(title = "商品的个数", fieldType = Integer.class)
		@ExcelTileName(value = "个数")
	private Integer goodsNumber;

	// 该单的运费
	@HapiFeild("该单的运费")
	@ExcelField(title = "运费", fieldType = Double.class)
	@ExcelTileName(value = "运费")
	private Double freight;


	@HapiFeild("收货人的城市")
	@ExcelTileName(value = "收货城市")
	private String receiverCitys;

	//收货人地址
	@HapiFeild("收货人地址")
	@ExcelTileName(value = "收货地址")
	private String userAddressName;

	//收货人姓名
	@HapiFeild("收货人姓名")
	@ExcelTileName(value = "收货人姓名")
	private String userUname;

	//收货人联系方式
	@HapiFeild("收货人联系方式")
	@ExcelTileName(value = "收货人联系方式")
	private String userMobile;

	//收货人联系方式
	@HapiFeild("下单人联系方式")
	@ExcelTileName(value = "下单客户联系方式")
	private String userMemberMobile;


	// 状态值 1代表创建未支付  2代表支付完成未发货 3代表已支付并已经发货  4代表申请退款   5代表过期 6代表已退款
	@HapiFeild("状态值")
	@ExcelField(title = "状态值", fieldType = Integer.class)
	@ExcelTileName(value = "状态值", change = "1=未支付,2=未发货,3=已发货,4=申请退款,5=过期,6=已退款")
	private Integer status;

	//这一单的总价钱
	@HapiFeild("这一单的总价钱")
	@ExcelField(title = "这一单的总价钱",  fieldType = Double.class)
	@ExcelTileName(value = "商品总价")
	private Double goodsFee;
	

	

	
	//商品的会员价
		@HapiFeild("商品的会员价")
		@ExcelField(title = "商品的会员价",  fieldType = Double.class)
	private Double goodsHprice;
	
	//这一单的减免额
		@HapiFeild("这一单的减免额")
		@ExcelField(title = "减免额",  fieldType = Double.class)
	private Double minusFee;

	//这一单的真实付账
	@HapiFeild("这一单的真实付账")
	@ExcelField(title = "合计",  fieldType = Double.class)
	@ExcelTileName(value = "总计")
	private Double realFee;
	
	//商品的封面图
		@HapiFeild("商品的封面图")
		@ExcelField(title = "商品的封面图")
	private String goodsImages;

	// 商家的id
	@HapiFeild("商家的id")
	@ExcelField(title = "商家id", fieldType = Long.class)
	private Long merchantId;





	//收货地址的id
	@HapiFeild("收货地址的id")
	private Long userAddressId;

	//用户的openid
	@HapiFeild("用户的openid")
	private String userOpenId;

	//用户的id
	@HapiFeild("用户的openid")
	private Long userId;

	//运输商家的类型
	@HapiFeild("运输商家的类型")
	@ExcelTileName(value = "物流类型")
	private String logisticsType;

	//运输单号
	@HapiFeild("运输单号")
	@ExcelTileName(value = "物流编号")
	private String logisticsNumber;

	private String tkWxOrderNo;

	private String tkOrderNo;

	//微信的订单编号
	@HapiFeild("微信的订单编号")
	private String wxOrderNo;

	//创建时间
	@HapiFeild("创建时间")
	@ExcelField(title = "创建时间", fieldType = Date.class)
	private Date createTime;

    public LvyouSpecialtyOrderContent(){
    
    	this.createTime = new Date();
    }


	/**
	 * 设置：id
	 */
	public void setId(Long id) {
		this.id = id;
	}
	/**
	 * 获取：id
	 */
	public Long getId() {
		return id;
	}
	/**
	 * 设置：创建时间
	 */
	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
	/**
	 * 获取：创建时间
	 */
	public Date getCreateTime() {
		return createTime;
	}
	/**
	 * 设置：商品的id
	 */
	public void setGoodsId(Long goodsId) {
		this.goodsId = goodsId;
	}
	/**
	 * 获取：商品的id
	 */
	public Long getGoodsId() {
		return goodsId;
	}
	/**
	 * 设置：商品的名称
	 */
	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}
	/**
	 * 获取：商品的名称
	 */
	public String getGoodsName() {
		return goodsName;
	}
	/**
	 * 设置：商品的个数
	 */
	public void setGoodsNumber(Integer goodsNumber) {
		this.goodsNumber = goodsNumber;
	}
	/**
	 * 获取：商品的个数
	 */
	public Integer getGoodsNumber() {
		return goodsNumber;
	}
	/**
	 * 设置：这一单的总价钱
	 */
	public void setGoodsFee(Double goodsFee) {
		this.goodsFee = goodsFee;
	}
	/**
	 * 获取：这一单的总价钱
	 */
	public Double getGoodsFee() {
		return goodsFee;
	}
	/**
	 * 设置：总订单的订单号
	 */
	public void setGoodsOrderNo(String goodsOrderNo) {
		this.goodsOrderNo = goodsOrderNo;
	}
	/**
	 * 获取：总订单的订单号
	 */
	public String getGoodsOrderNo() {
		return goodsOrderNo;
	}
	/**
	 * 设置：商品的单个价格
	 */
	public void setGoodsPrice(Double goodsPrice) {
		this.goodsPrice = goodsPrice;
	}
	/**
	 * 获取：商品的单个价格
	 */
	public Double getGoodsPrice() {
		return goodsPrice;
	}
	/**
	 * 设置：商品的会员价
	 */
	public void setGoodsHprice(Double goodsHprice) {
		this.goodsHprice = goodsHprice;
	}
	/**
	 * 获取：商品的会员价
	 */
	public Double getGoodsHprice() {
		return goodsHprice;
	}
	/**
	 * 设置：这一单的减免额
	 */
	public void setMinusFee(Double minusFee) {
		this.minusFee = minusFee;
	}
	/**
	 * 获取：这一单的减免额
	 */
	public Double getMinusFee() {
		return minusFee;
	}
	/**
	 * 设置：商品的封面图
	 */
	public void setGoodsImages(String goodsImages) {
		this.goodsImages = goodsImages;
	}
	/**
	 * 获取：商品的封面图
	 */
	public String getGoodsImages() {
		return goodsImages;
	}

	public Long getMerchantId() {
		return merchantId;
	}

	public void setMerchantId(Long merchantId) {
		this.merchantId = merchantId;
	}

	public String getMerchantName() {
		return merchantName;
	}

	public void setMerchantName(String merchantName) {
		this.merchantName = merchantName;
	}

	public String getMerchantOrderNo() {
		return merchantOrderNo;
	}

	public void setMerchantOrderNo(String merchantOrderNo) {
		this.merchantOrderNo = merchantOrderNo;
	}

	public Integer getStatus() {
		return status;
	}

	public void setStatus(Integer status) {
		this.status = status;
	}

	public Double getRealFee() {
		return realFee;
	}

	public void setRealFee(Double realFee) {
		this.realFee = realFee;
	}

	public Long getUserAddressId() {
		return userAddressId;
	}

	public void setUserAddressId(Long userAddressId) {
		this.userAddressId = userAddressId;
	}

	public String getUserAddressName() {
		return userAddressName;
	}

	public void setUserAddressName(String userAddressName) {
		this.userAddressName = userAddressName;
	}

	public String getUserUname() {
		return userUname;
	}

	public void setUserUname(String userUname) {
		this.userUname = userUname;
	}

	public String getUserMobile() {
		return userMobile;
	}

	public void setUserMobile(String userMobile) {
		this.userMobile = userMobile;
	}

	public String getLogisticsType() {
		return logisticsType;
	}

	public void setLogisticsType(String logisticsType) {
		this.logisticsType = logisticsType;
	}

	public String getLogisticsNumber() {
		return logisticsNumber;
	}

	public void setLogisticsNumber(String logisticsNumber) {
		this.logisticsNumber = logisticsNumber;
	}

	public String getUserOpenId() {
		return userOpenId;
	}

	public void setUserOpenId(String userOpenId) {
		this.userOpenId = userOpenId;
	}

	public String getTkWxOrderNo() {
		return tkWxOrderNo;
	}

	public void setTkWxOrderNo(String tkWxOrderNo) {
		this.tkWxOrderNo = tkWxOrderNo;
	}

	public String getTkOrderNo() {
		return tkOrderNo;
	}

	public void setTkOrderNo(String tkOrderNo) {
		this.tkOrderNo = tkOrderNo;
	}

	public String getWxOrderNo() {
		return wxOrderNo;
	}

	public void setWxOrderNo(String wxOrderNo) {
		this.wxOrderNo = wxOrderNo;
	}

	public String getReceiverCitys() {
		return receiverCitys;
	}

	public void setReceiverCitys(String receiverCitys) {
		this.receiverCitys = receiverCitys;
	}

	public Long getUserId() {
		return userId;
	}

	public void setUserId(Long userId) {
		this.userId = userId;
	}

	public String getUserMemberMobile() {
		return userMemberMobile;
	}

	public void setUserMemberMobile(String userMemberMobile) {
		this.userMemberMobile = userMemberMobile;
	}

	public String getGoodsStandard() {
		return goodsStandard;
	}

	public void setGoodsStandard(String goodsStandard) {
		this.goodsStandard = goodsStandard;
	}

    public String getUserMemberName() {
        return userMemberName;
    }

    public void setUserMemberName(String userMemberName) {
        this.userMemberName = userMemberName;
    }

    @Override
    public String toString() {
        return "LvyouSpecialtyOrderContent{" +
                "id=" + id +
                ", goodsId=" + goodsId +
                ", goodsOrderNo='" + goodsOrderNo + '\'' +
                ", merchantOrderNo='" + merchantOrderNo + '\'' +
                ", merchantName='" + merchantName + '\'' +
                ", goodsName='" + goodsName + '\'' +
                ", goodsPrice=" + goodsPrice +
                ", goodsStandard='" + goodsStandard + '\'' +
                ", userMemberName='" + userMemberName + '\'' +
                ", goodsNumber=" + goodsNumber +
                ", freight=" + freight +
                ", receiverCitys='" + receiverCitys + '\'' +
                ", userAddressName='" + userAddressName + '\'' +
                ", userUname='" + userUname + '\'' +
                ", userMobile='" + userMobile + '\'' +
                ", userMemberMobile='" + userMemberMobile + '\'' +
                ", status=" + status +
                ", goodsFee=" + goodsFee +
                ", goodsHprice=" + goodsHprice +
                ", minusFee=" + minusFee +
                ", realFee=" + realFee +
                ", goodsImages='" + goodsImages + '\'' +
                ", merchantId=" + merchantId +
                ", userAddressId=" + userAddressId +
                ", userOpenId='" + userOpenId + '\'' +
                ", userId=" + userId +
                ", logisticsType='" + logisticsType + '\'' +
                ", logisticsNumber='" + logisticsNumber + '\'' +
                ", tkWxOrderNo='" + tkWxOrderNo + '\'' +
                ", tkOrderNo='" + tkOrderNo + '\'' +
                ", wxOrderNo='" + wxOrderNo + '\'' +
                ", createTime=" + createTime +
                '}';
    }

    @Override
	@JsonIgnore
	public List<HashMap<String, Object>> getFields() {
		// TODO Auto-generated method stub
		return FansheUtils.getFieldList(this);
	}

	public Double getFreight() {
		return freight;
	}

	public void setFreight(Double freight) {
		this.freight = freight;
	}
}
